package com.todod.base.module.base.service.rthistory;

import java.util.*;
import jakarta.validation.*;
import com.todod.base.module.base.controller.admin.rthistory.vo.*;
import com.todod.base.module.base.dal.dataobject.rthistory.RtHistoryDO;
import com.todod.base.framework.common.pojo.PageResult;
import com.todod.base.framework.common.pojo.PageParam;

/**
 * 历史数据管理 Service 接口
 *
 * @author 超管儿
 */
public interface RtHistoryService {

    /**
     * 创建历史数据管理
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createRtHistory(@Valid RtHistorySaveReqVO createReqVO);

    /**
     * 更新历史数据管理
     *
     * @param updateReqVO 更新信息
     */
    void updateRtHistory(@Valid RtHistorySaveReqVO updateReqVO);

    /**
     * 删除历史数据管理
     *
     * @param id 编号
     */
    void deleteRtHistory(Long id);

    /**
     * 获得历史数据管理
     *
     * @param id 编号
     * @return 历史数据管理
     */
    RtHistoryDO getRtHistory(Long id);

    /**
     * 获得历史数据管理分页
     *
     * @param pageReqVO 分页查询
     * @return 历史数据管理分页
     */
    PageResult<RtHistoryDO> getRtHistoryPage(RtHistoryPageReqVO pageReqVO);

    /**
     * 一键物理删除历史年度数据
     */
    void cleanAll();

    /**
     * 根据年份物理删除数据表数据
     */
    void deleteByYear(String year);




}